package com.lungolago.bank.dao;

import com.lungolago.bank.commons.dao.GenericDao;
import com.lungolago.bank.domain.UserEntity;

/**
 * Data Access Object Interface to work with User entity db operations.
 * @author Franco
 */
public interface UserDao extends GenericDao<UserEntity, Long> {
	
	/**
	 * Checks availability of UserName in db
	 * 
	 * @param UserName
	 * @return true if available
	 */
	boolean checkAvailability(String UserName);
	
	/**
	 * Queries user by username
	 * 
	 * @param UserName
	 * @return UserEntity
	 */
	UserEntity loadUserByUserName(String UserName);
}
